1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.glib.gunicode; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.gerror; 34 import core.stdc.config; 35 36 extern (C): 37 38 alias uint gunichar; 39 alias ushort gunichar2; 40 alias _Anonymous_0 GUnicodeType; 41 alias _Anonymous_1 GUnicodeBreakType; 42 alias _Anonymous_2 GUnicodeScript; 43 alias _Anonymous_3 GNormalizeMode; 44 45 version(Derelict_Link_Static) 46 { 47 extern( C ) nothrow 48 { 49 const gchar* g_utf8_skip(); 50 } 51 } 52 else 53 { 54 extern( C ) nothrow 55 { 56 alias da_g_utf8_skip = const gchar*; 57 } 58 59 __gshared 60 { 61 da_g_utf8_skip g_utf8_skip; 62 } 63 } 64 65 66 enum _Anonymous_0 67 { 68 G_UNICODE_CONTROL = 0, 69 G_UNICODE_FORMAT = 1, 70 G_UNICODE_UNASSIGNED = 2, 71 G_UNICODE_PRIVATE_USE = 3, 72 G_UNICODE_SURROGATE = 4, 73 G_UNICODE_LOWERCASE_LETTER = 5, 74 G_UNICODE_MODIFIER_LETTER = 6, 75 G_UNICODE_OTHER_LETTER = 7, 76 G_UNICODE_TITLECASE_LETTER = 8, 77 G_UNICODE_UPPERCASE_LETTER = 9, 78 G_UNICODE_SPACING_MARK = 10, 79 G_UNICODE_ENCLOSING_MARK = 11, 80 G_UNICODE_NON_SPACING_MARK = 12, 81 G_UNICODE_DECIMAL_NUMBER = 13, 82 G_UNICODE_LETTER_NUMBER = 14, 83 G_UNICODE_OTHER_NUMBER = 15, 84 G_UNICODE_CONNECT_PUNCTUATION = 16, 85 G_UNICODE_DASH_PUNCTUATION = 17, 86 G_UNICODE_CLOSE_PUNCTUATION = 18, 87 G_UNICODE_FINAL_PUNCTUATION = 19, 88 G_UNICODE_INITIAL_PUNCTUATION = 20, 89 G_UNICODE_OTHER_PUNCTUATION = 21, 90 G_UNICODE_OPEN_PUNCTUATION = 22, 91 G_UNICODE_CURRENCY_SYMBOL = 23, 92 G_UNICODE_MODIFIER_SYMBOL = 24, 93 G_UNICODE_MATH_SYMBOL = 25, 94 G_UNICODE_OTHER_SYMBOL = 26, 95 G_UNICODE_LINE_SEPARATOR = 27, 96 G_UNICODE_PARAGRAPH_SEPARATOR = 28, 97 G_UNICODE_SPACE_SEPARATOR = 29 98 } 99 100 enum _Anonymous_1 101 { 102 G_UNICODE_BREAK_MANDATORY = 0, 103 G_UNICODE_BREAK_CARRIAGE_RETURN = 1, 104 G_UNICODE_BREAK_LINE_FEED = 2, 105 G_UNICODE_BREAK_COMBINING_MARK = 3, 106 G_UNICODE_BREAK_SURROGATE = 4, 107 G_UNICODE_BREAK_ZERO_WIDTH_SPACE = 5, 108 G_UNICODE_BREAK_INSEPARABLE = 6, 109 G_UNICODE_BREAK_NON_BREAKING_GLUE = 7, 110 G_UNICODE_BREAK_CONTINGENT = 8, 111 G_UNICODE_BREAK_SPACE = 9, 112 G_UNICODE_BREAK_AFTER = 10, 113 G_UNICODE_BREAK_BEFORE = 11, 114 G_UNICODE_BREAK_BEFORE_AND_AFTER = 12, 115 G_UNICODE_BREAK_HYPHEN = 13, 116 G_UNICODE_BREAK_NON_STARTER = 14, 117 G_UNICODE_BREAK_OPEN_PUNCTUATION = 15, 118 G_UNICODE_BREAK_CLOSE_PUNCTUATION = 16, 119 G_UNICODE_BREAK_QUOTATION = 17, 120 G_UNICODE_BREAK_EXCLAMATION = 18, 121 G_UNICODE_BREAK_IDEOGRAPHIC = 19, 122 G_UNICODE_BREAK_NUMERIC = 20, 123 G_UNICODE_BREAK_INFIX_SEPARATOR = 21, 124 G_UNICODE_BREAK_SYMBOL = 22, 125 G_UNICODE_BREAK_ALPHABETIC = 23, 126 G_UNICODE_BREAK_PREFIX = 24, 127 G_UNICODE_BREAK_POSTFIX = 25, 128 G_UNICODE_BREAK_COMPLEX_CONTEXT = 26, 129 G_UNICODE_BREAK_AMBIGUOUS = 27, 130 G_UNICODE_BREAK_UNKNOWN = 28, 131 G_UNICODE_BREAK_NEXT_LINE = 29, 132 G_UNICODE_BREAK_WORD_JOINER = 30, 133 G_UNICODE_BREAK_HANGUL_L_JAMO = 31, 134 G_UNICODE_BREAK_HANGUL_V_JAMO = 32, 135 G_UNICODE_BREAK_HANGUL_T_JAMO = 33, 136 G_UNICODE_BREAK_HANGUL_LV_SYLLABLE = 34, 137 G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE = 35, 138 G_UNICODE_BREAK_CLOSE_PARANTHESIS = 36, 139 G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER = 37, 140 G_UNICODE_BREAK_HEBREW_LETTER = 38 141 } 142 143 enum _Anonymous_2 144 { 145 G_UNICODE_SCRIPT_INVALID_CODE = -1, 146 G_UNICODE_SCRIPT_COMMON = 0, 147 G_UNICODE_SCRIPT_INHERITED = 1, 148 G_UNICODE_SCRIPT_ARABIC = 2, 149 G_UNICODE_SCRIPT_ARMENIAN = 3, 150 G_UNICODE_SCRIPT_BENGALI = 4, 151 G_UNICODE_SCRIPT_BOPOMOFO = 5, 152 G_UNICODE_SCRIPT_CHEROKEE = 6, 153 G_UNICODE_SCRIPT_COPTIC = 7, 154 G_UNICODE_SCRIPT_CYRILLIC = 8, 155 G_UNICODE_SCRIPT_DESERET = 9, 156 G_UNICODE_SCRIPT_DEVANAGARI = 10, 157 G_UNICODE_SCRIPT_ETHIOPIC = 11, 158 G_UNICODE_SCRIPT_GEORGIAN = 12, 159 G_UNICODE_SCRIPT_GOTHIC = 13, 160 G_UNICODE_SCRIPT_GREEK = 14, 161 G_UNICODE_SCRIPT_GUJARATI = 15, 162 G_UNICODE_SCRIPT_GURMUKHI = 16, 163 G_UNICODE_SCRIPT_HAN = 17, 164 G_UNICODE_SCRIPT_HANGUL = 18, 165 G_UNICODE_SCRIPT_HEBREW = 19, 166 G_UNICODE_SCRIPT_HIRAGANA = 20, 167 G_UNICODE_SCRIPT_KANNADA = 21, 168 G_UNICODE_SCRIPT_KATAKANA = 22, 169 G_UNICODE_SCRIPT_KHMER = 23, 170 G_UNICODE_SCRIPT_LAO = 24, 171 G_UNICODE_SCRIPT_LATIN = 25, 172 G_UNICODE_SCRIPT_MALAYALAM = 26, 173 G_UNICODE_SCRIPT_MONGOLIAN = 27, 174 G_UNICODE_SCRIPT_MYANMAR = 28, 175 G_UNICODE_SCRIPT_OGHAM = 29, 176 G_UNICODE_SCRIPT_OLD_ITALIC = 30, 177 G_UNICODE_SCRIPT_ORIYA = 31, 178 G_UNICODE_SCRIPT_RUNIC = 32, 179 G_UNICODE_SCRIPT_SINHALA = 33, 180 G_UNICODE_SCRIPT_SYRIAC = 34, 181 G_UNICODE_SCRIPT_TAMIL = 35, 182 G_UNICODE_SCRIPT_TELUGU = 36, 183 G_UNICODE_SCRIPT_THAANA = 37, 184 G_UNICODE_SCRIPT_THAI = 38, 185 G_UNICODE_SCRIPT_TIBETAN = 39, 186 G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL = 40, 187 G_UNICODE_SCRIPT_YI = 41, 188 G_UNICODE_SCRIPT_TAGALOG = 42, 189 G_UNICODE_SCRIPT_HANUNOO = 43, 190 G_UNICODE_SCRIPT_BUHID = 44, 191 G_UNICODE_SCRIPT_TAGBANWA = 45, 192 G_UNICODE_SCRIPT_BRAILLE = 46, 193 G_UNICODE_SCRIPT_CYPRIOT = 47, 194 G_UNICODE_SCRIPT_LIMBU = 48, 195 G_UNICODE_SCRIPT_OSMANYA = 49, 196 G_UNICODE_SCRIPT_SHAVIAN = 50, 197 G_UNICODE_SCRIPT_LINEAR_B = 51, 198 G_UNICODE_SCRIPT_TAI_LE = 52, 199 G_UNICODE_SCRIPT_UGARITIC = 53, 200 G_UNICODE_SCRIPT_NEW_TAI_LUE = 54, 201 G_UNICODE_SCRIPT_BUGINESE = 55, 202 G_UNICODE_SCRIPT_GLAGOLITIC = 56, 203 G_UNICODE_SCRIPT_TIFINAGH = 57, 204 G_UNICODE_SCRIPT_SYLOTI_NAGRI = 58, 205 G_UNICODE_SCRIPT_OLD_PERSIAN = 59, 206 G_UNICODE_SCRIPT_KHAROSHTHI = 60, 207 G_UNICODE_SCRIPT_UNKNOWN = 61, 208 G_UNICODE_SCRIPT_BALINESE = 62, 209 G_UNICODE_SCRIPT_CUNEIFORM = 63, 210 G_UNICODE_SCRIPT_PHOENICIAN = 64, 211 G_UNICODE_SCRIPT_PHAGS_PA = 65, 212 G_UNICODE_SCRIPT_NKO = 66, 213 G_UNICODE_SCRIPT_KAYAH_LI = 67, 214 G_UNICODE_SCRIPT_LEPCHA = 68, 215 G_UNICODE_SCRIPT_REJANG = 69, 216 G_UNICODE_SCRIPT_SUNDANESE = 70, 217 G_UNICODE_SCRIPT_SAURASHTRA = 71, 218 G_UNICODE_SCRIPT_CHAM = 72, 219 G_UNICODE_SCRIPT_OL_CHIKI = 73, 220 G_UNICODE_SCRIPT_VAI = 74, 221 G_UNICODE_SCRIPT_CARIAN = 75, 222 G_UNICODE_SCRIPT_LYCIAN = 76, 223 G_UNICODE_SCRIPT_LYDIAN = 77, 224 G_UNICODE_SCRIPT_AVESTAN = 78, 225 G_UNICODE_SCRIPT_BAMUM = 79, 226 G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS = 80, 227 G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC = 81, 228 G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI = 82, 229 G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN = 83, 230 G_UNICODE_SCRIPT_JAVANESE = 84, 231 G_UNICODE_SCRIPT_KAITHI = 85, 232 G_UNICODE_SCRIPT_LISU = 86, 233 G_UNICODE_SCRIPT_MEETEI_MAYEK = 87, 234 G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN = 88, 235 G_UNICODE_SCRIPT_OLD_TURKIC = 89, 236 G_UNICODE_SCRIPT_SAMARITAN = 90, 237 G_UNICODE_SCRIPT_TAI_THAM = 91, 238 G_UNICODE_SCRIPT_TAI_VIET = 92, 239 G_UNICODE_SCRIPT_BATAK = 93, 240 G_UNICODE_SCRIPT_BRAHMI = 94, 241 G_UNICODE_SCRIPT_MANDAIC = 95, 242 G_UNICODE_SCRIPT_CHAKMA = 96, 243 G_UNICODE_SCRIPT_MEROITIC_CURSIVE = 97, 244 G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS = 98, 245 G_UNICODE_SCRIPT_MIAO = 99, 246 G_UNICODE_SCRIPT_SHARADA = 100, 247 G_UNICODE_SCRIPT_SORA_SOMPENG = 101, 248 G_UNICODE_SCRIPT_TAKRI = 102 249 } 250 251 enum _Anonymous_3 252 { 253 G_NORMALIZE_DEFAULT = 0, 254 G_NORMALIZE_NFD = 0, 255 G_NORMALIZE_DEFAULT_COMPOSE = 1, 256 G_NORMALIZE_NFC = 1, 257 G_NORMALIZE_ALL = 2, 258 G_NORMALIZE_NFKD = 2, 259 G_NORMALIZE_ALL_COMPOSE = 3, 260 G_NORMALIZE_NFKC = 3 261 } 262 263 version(Derelict_Link_Static) 264 { 265 extern( C ) nothrow 266 { 267 guint32 g_unicode_script_to_iso15924(GUnicodeScript script); 268 GUnicodeScript g_unicode_script_from_iso15924(guint32 iso15924); 269 gboolean g_unichar_isalnum(gunichar c); 270 gboolean g_unichar_isalpha(gunichar c); 271 gboolean g_unichar_iscntrl(gunichar c); 272 gboolean g_unichar_isdigit(gunichar c); 273 gboolean g_unichar_isgraph(gunichar c); 274 gboolean g_unichar_islower(gunichar c); 275 gboolean g_unichar_isprint(gunichar c); 276 gboolean g_unichar_ispunct(gunichar c); 277 gboolean g_unichar_isspace(gunichar c); 278 gboolean g_unichar_isupper(gunichar c); 279 gboolean g_unichar_isxdigit(gunichar c); 280 gboolean g_unichar_istitle(gunichar c); 281 gboolean g_unichar_isdefined(gunichar c); 282 gboolean g_unichar_iswide(gunichar c); 283 gboolean g_unichar_iswide_cjk(gunichar c); 284 gboolean g_unichar_iszerowidth(gunichar c); 285 gboolean g_unichar_ismark(gunichar c); 286 gunichar g_unichar_toupper(gunichar c); 287 gunichar g_unichar_tolower(gunichar c); 288 gunichar g_unichar_totitle(gunichar c); 289 gint g_unichar_digit_value(gunichar c); 290 gint g_unichar_xdigit_value(gunichar c); 291 GUnicodeType g_unichar_type(gunichar c); 292 GUnicodeBreakType g_unichar_break_type(gunichar c); 293 gint g_unichar_combining_class(gunichar uc); 294 gboolean g_unichar_get_mirror_char(gunichar ch, gunichar* mirrored_ch); 295 GUnicodeScript g_unichar_get_script(gunichar ch); 296 gboolean g_unichar_validate(gunichar ch); 297 gboolean g_unichar_compose(gunichar a, gunichar b, gunichar* ch); 298 gboolean g_unichar_decompose(gunichar ch, gunichar* a, gunichar* b); 299 gsize g_unichar_fully_decompose(gunichar ch, gboolean compat, gunichar* result, gsize result_len); 300 void g_unicode_canonical_ordering(gunichar* string, gsize len); 301 gunichar* g_unicode_canonical_decomposition(gunichar ch, gsize* result_len); 302 gunichar g_utf8_get_char(const(gchar)* p); 303 gunichar g_utf8_get_char_validated(const(gchar)* p, gssize max_len); 304 gchar* g_utf8_offset_to_pointer(const(gchar)* str, glong offset); 305 glong g_utf8_pointer_to_offset(const(gchar)* str, const(gchar)* pos); 306 gchar* g_utf8_prev_char(const(gchar)* p); 307 gchar* g_utf8_find_next_char(const(gchar)* p, const(gchar)* end); 308 gchar* g_utf8_find_prev_char(const(gchar)* str, const(gchar)* p); 309 glong g_utf8_strlen(const(gchar)* p, gssize max); 310 gchar* g_utf8_substring(const(gchar)* str, glong start_pos, glong end_pos); 311 gchar* g_utf8_strncpy(gchar* dest, const(gchar)* src, gsize n); 312 gchar* g_utf8_strchr(const(gchar)* p, gssize len, gunichar c); 313 gchar* g_utf8_strrchr(const(gchar)* p, gssize len, gunichar c); 314 gchar* g_utf8_strreverse(const(gchar)* str, gssize len); 315 gunichar2* g_utf8_to_utf16(const(gchar)* str, glong len, glong* items_read, glong* items_written, GError** error); 316 gunichar* g_utf8_to_ucs4(const(gchar)* str, glong len, glong* items_read, glong* items_written, GError** error); 317 gunichar* g_utf8_to_ucs4_fast(const(gchar)* str, glong len, glong* items_written); 318 gunichar* g_utf16_to_ucs4(const(gunichar2)* str, glong len, glong* items_read, glong* items_written, GError** error); 319 gchar* g_utf16_to_utf8(const(gunichar2)* str, glong len, glong* items_read, glong* items_written, GError** error); 320 gunichar2* g_ucs4_to_utf16(const(gunichar)* str, glong len, glong* items_read, glong* items_written, GError** error); 321 gchar* g_ucs4_to_utf8(const(gunichar)* str, glong len, glong* items_read, glong* items_written, GError** error); 322 gint g_unichar_to_utf8(gunichar c, gchar* outbuf); 323 gboolean g_utf8_validate(const(gchar)* str, gssize max_len, const(gchar*)* end); 324 gchar* g_utf8_strup(const(gchar)* str, gssize len); 325 gchar* g_utf8_strdown(const(gchar)* str, gssize len); 326 gchar* g_utf8_casefold(const(gchar)* str, gssize len); 327 gchar* g_utf8_normalize(const(gchar)* str, gssize len, GNormalizeMode mode); 328 gint g_utf8_collate(const(gchar)* str1, const(gchar)* str2); 329 gchar* g_utf8_collate_key(const(gchar)* str, gssize len); 330 gchar* g_utf8_collate_key_for_filename(const(gchar)* str, gssize len); 331 gchar* _g_utf8_make_valid(const(gchar)* name); 332 } 333 } 334 else 335 { 336 extern( C ) nothrow 337 { 338 alias da_g_unicode_script_to_iso15924 = guint32 function(GUnicodeScript script); 339 alias da_g_unicode_script_from_iso15924 = GUnicodeScript function(guint32 iso15924); 340 alias da_g_unichar_isalnum = gboolean function(gunichar c); 341 alias da_g_unichar_isalpha = gboolean function(gunichar c); 342 alias da_g_unichar_iscntrl = gboolean function(gunichar c); 343 alias da_g_unichar_isdigit = gboolean function(gunichar c); 344 alias da_g_unichar_isgraph = gboolean function(gunichar c); 345 alias da_g_unichar_islower = gboolean function(gunichar c); 346 alias da_g_unichar_isprint = gboolean function(gunichar c); 347 alias da_g_unichar_ispunct = gboolean function(gunichar c); 348 alias da_g_unichar_isspace = gboolean function(gunichar c); 349 alias da_g_unichar_isupper = gboolean function(gunichar c); 350 alias da_g_unichar_isxdigit = gboolean function(gunichar c); 351 alias da_g_unichar_istitle = gboolean function(gunichar c); 352 alias da_g_unichar_isdefined = gboolean function(gunichar c); 353 alias da_g_unichar_iswide = gboolean function(gunichar c); 354 alias da_g_unichar_iswide_cjk = gboolean function(gunichar c); 355 alias da_g_unichar_iszerowidth = gboolean function(gunichar c); 356 alias da_g_unichar_ismark = gboolean function(gunichar c); 357 alias da_g_unichar_toupper = gunichar function(gunichar c); 358 alias da_g_unichar_tolower = gunichar function(gunichar c); 359 alias da_g_unichar_totitle = gunichar function(gunichar c); 360 alias da_g_unichar_digit_value = gint function(gunichar c); 361 alias da_g_unichar_xdigit_value = gint function(gunichar c); 362 alias da_g_unichar_type = GUnicodeType function(gunichar c); 363 alias da_g_unichar_break_type = GUnicodeBreakType function(gunichar c); 364 alias da_g_unichar_combining_class = gint function(gunichar uc); 365 alias da_g_unichar_get_mirror_char = gboolean function(gunichar ch, gunichar* mirrored_ch); 366 alias da_g_unichar_get_script = GUnicodeScript function(gunichar ch); 367 alias da_g_unichar_validate = gboolean function(gunichar ch); 368 alias da_g_unichar_compose = gboolean function(gunichar a, gunichar b, gunichar* ch); 369 alias da_g_unichar_decompose = gboolean function(gunichar ch, gunichar* a, gunichar* b); 370 alias da_g_unichar_fully_decompose = gsize function(gunichar ch, gboolean compat, gunichar* result, gsize result_len); 371 alias da_g_unicode_canonical_ordering = void function(gunichar* string, gsize len); 372 alias da_g_unicode_canonical_decomposition = gunichar* function(gunichar ch, gsize* result_len); 373 alias da_g_utf8_get_char = gunichar function(const(gchar)* p); 374 alias da_g_utf8_get_char_validated = gunichar function(const(gchar)* p, gssize max_len); 375 alias da_g_utf8_offset_to_pointer = gchar* function(const(gchar)* str, glong offset); 376 alias da_g_utf8_pointer_to_offset = glong function(const(gchar)* str, const(gchar)* pos); 377 alias da_g_utf8_prev_char = gchar* function(const(gchar)* p); 378 alias da_g_utf8_find_next_char = gchar* function(const(gchar)* p, const(gchar)* end); 379 alias da_g_utf8_find_prev_char = gchar* function(const(gchar)* str, const(gchar)* p); 380 alias da_g_utf8_strlen = glong function(const(gchar)* p, gssize max); 381 alias da_g_utf8_substring = gchar* function(const(gchar)* str, glong start_pos, glong end_pos); 382 alias da_g_utf8_strncpy = gchar* function(gchar* dest, const(gchar)* src, gsize n); 383 alias da_g_utf8_strchr = gchar* function(const(gchar)* p, gssize len, gunichar c); 384 alias da_g_utf8_strrchr = gchar* function(const(gchar)* p, gssize len, gunichar c); 385 alias da_g_utf8_strreverse = gchar* function(const(gchar)* str, gssize len); 386 alias da_g_utf8_to_utf16 = gunichar2* function(const(gchar)* str, glong len, glong* items_read, glong* items_written, GError** error); 387 alias da_g_utf8_to_ucs4 = gunichar* function(const(gchar)* str, glong len, glong* items_read, glong* items_written, GError** error); 388 alias da_g_utf8_to_ucs4_fast = gunichar* function(const(gchar)* str, glong len, glong* items_written); 389 alias da_g_utf16_to_ucs4 = gunichar* function(const(gunichar2)* str, glong len, glong* items_read, glong* items_written, GError** error); 390 alias da_g_utf16_to_utf8 = gchar* function(const(gunichar2)* str, glong len, glong* items_read, glong* items_written, GError** error); 391 alias da_g_ucs4_to_utf16 = gunichar2* function(const(gunichar)* str, glong len, glong* items_read, glong* items_written, GError** error); 392 alias da_g_ucs4_to_utf8 = gchar* function(const(gunichar)* str, glong len, glong* items_read, glong* items_written, GError** error); 393 alias da_g_unichar_to_utf8 = gint function(gunichar c, gchar* outbuf); 394 alias da_g_utf8_validate = gboolean function(const(gchar)* str, gssize max_len, const(gchar*)* end); 395 alias da_g_utf8_strup = gchar* function(const(gchar)* str, gssize len); 396 alias da_g_utf8_strdown = gchar* function(const(gchar)* str, gssize len); 397 alias da_g_utf8_casefold = gchar* function(const(gchar)* str, gssize len); 398 alias da_g_utf8_normalize = gchar* function(const(gchar)* str, gssize len, GNormalizeMode mode); 399 alias da_g_utf8_collate = gint function(const(gchar)* str1, const(gchar)* str2); 400 alias da_g_utf8_collate_key = gchar* function(const(gchar)* str, gssize len); 401 alias da_g_utf8_collate_key_for_filename = gchar* function(const(gchar)* str, gssize len); 402 alias da__g_utf8_make_valid = gchar* function(const(gchar)* name); 403 } 404 405 __gshared 406 { 407 da_g_unicode_script_to_iso15924 g_unicode_script_to_iso15924; 408 da_g_unicode_script_from_iso15924 g_unicode_script_from_iso15924; 409 da_g_unichar_isalnum g_unichar_isalnum; 410 da_g_unichar_isalpha g_unichar_isalpha; 411 da_g_unichar_iscntrl g_unichar_iscntrl; 412 da_g_unichar_isdigit g_unichar_isdigit; 413 da_g_unichar_isgraph g_unichar_isgraph; 414 da_g_unichar_islower g_unichar_islower; 415 da_g_unichar_isprint g_unichar_isprint; 416 da_g_unichar_ispunct g_unichar_ispunct; 417 da_g_unichar_isspace g_unichar_isspace; 418 da_g_unichar_isupper g_unichar_isupper; 419 da_g_unichar_isxdigit g_unichar_isxdigit; 420 da_g_unichar_istitle g_unichar_istitle; 421 da_g_unichar_isdefined g_unichar_isdefined; 422 da_g_unichar_iswide g_unichar_iswide; 423 da_g_unichar_iswide_cjk g_unichar_iswide_cjk; 424 da_g_unichar_iszerowidth g_unichar_iszerowidth; 425 da_g_unichar_ismark g_unichar_ismark; 426 da_g_unichar_toupper g_unichar_toupper; 427 da_g_unichar_tolower g_unichar_tolower; 428 da_g_unichar_totitle g_unichar_totitle; 429 da_g_unichar_digit_value g_unichar_digit_value; 430 da_g_unichar_xdigit_value g_unichar_xdigit_value; 431 da_g_unichar_type g_unichar_type; 432 da_g_unichar_break_type g_unichar_break_type; 433 da_g_unichar_combining_class g_unichar_combining_class; 434 da_g_unichar_get_mirror_char g_unichar_get_mirror_char; 435 da_g_unichar_get_script g_unichar_get_script; 436 da_g_unichar_validate g_unichar_validate; 437 da_g_unichar_compose g_unichar_compose; 438 da_g_unichar_decompose g_unichar_decompose; 439 da_g_unichar_fully_decompose g_unichar_fully_decompose; 440 da_g_unicode_canonical_ordering g_unicode_canonical_ordering; 441 da_g_unicode_canonical_decomposition g_unicode_canonical_decomposition; 442 da_g_utf8_get_char g_utf8_get_char; 443 da_g_utf8_get_char_validated g_utf8_get_char_validated; 444 da_g_utf8_offset_to_pointer g_utf8_offset_to_pointer; 445 da_g_utf8_pointer_to_offset g_utf8_pointer_to_offset; 446 da_g_utf8_prev_char g_utf8_prev_char; 447 da_g_utf8_find_next_char g_utf8_find_next_char; 448 da_g_utf8_find_prev_char g_utf8_find_prev_char; 449 da_g_utf8_strlen g_utf8_strlen; 450 da_g_utf8_substring g_utf8_substring; 451 da_g_utf8_strncpy g_utf8_strncpy; 452 da_g_utf8_strchr g_utf8_strchr; 453 da_g_utf8_strrchr g_utf8_strrchr; 454 da_g_utf8_strreverse g_utf8_strreverse; 455 da_g_utf8_to_utf16 g_utf8_to_utf16; 456 da_g_utf8_to_ucs4 g_utf8_to_ucs4; 457 da_g_utf8_to_ucs4_fast g_utf8_to_ucs4_fast; 458 da_g_utf16_to_ucs4 g_utf16_to_ucs4; 459 da_g_utf16_to_utf8 g_utf16_to_utf8; 460 da_g_ucs4_to_utf16 g_ucs4_to_utf16; 461 da_g_ucs4_to_utf8 g_ucs4_to_utf8; 462 da_g_unichar_to_utf8 g_unichar_to_utf8; 463 da_g_utf8_validate g_utf8_validate; 464 da_g_utf8_strup g_utf8_strup; 465 da_g_utf8_strdown g_utf8_strdown; 466 da_g_utf8_casefold g_utf8_casefold; 467 da_g_utf8_normalize g_utf8_normalize; 468 da_g_utf8_collate g_utf8_collate; 469 da_g_utf8_collate_key g_utf8_collate_key; 470 da_g_utf8_collate_key_for_filename g_utf8_collate_key_for_filename; 471 da__g_utf8_make_valid _g_utf8_make_valid; 472 } 473 }